package com.ruoyi.mdm.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.TreeEntity;

import java.util.List;

/**
 * 物料类别对象 material_category
 * 
 * @author ruoyi
 * @date 2024-03-28
 */
public class MaterialCategory extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 类别编码 */
    @Excel(name = "类别编码")
    private String categoryCode;

    /** 类别名称 */
    @Excel(name = "类别名称")
    private String categoryName;

    /** 类别英文名称 */
    @Excel(name = "类别英文名称")
    private String categoryNameEn;

    /** 类别描述 */
    @Excel(name = "类别描述")
    private String categoryDesc;

    /** 层级编号 */
    private Integer levelNo;

    /** 主键 */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long tableId;

    /** 行状态(0 正常, 1停用 ) */
    @Excel(name = "行状态(0 正常, 1停用 )")
    private String status;

    /** 是否删除(0 存在, 2表示删除) */
    private String delFlag;

    private List<String> categoryCodeList;

    public void setCategoryCode(String categoryCode)
    {
        this.categoryCode = categoryCode;
    }

    public String getCategoryCode()
    {
        return categoryCode;
    }
    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }
    public void setCategoryNameEn(String categoryNameEn)
    {
        this.categoryNameEn = categoryNameEn;
    }

    public String getCategoryNameEn()
    {
        return categoryNameEn;
    }
    public void setCategoryDesc(String categoryDesc)
    {
        this.categoryDesc = categoryDesc;
    }

    public String getCategoryDesc()
    {
        return categoryDesc;
    }
    public void setTableId(Long tableId)
    {
        this.tableId = tableId;
    }

    public Long getTableId()
    {
        return tableId;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public List<String> getCategoryCodeList() {
        return categoryCodeList;
    }

    public void setCategoryCodeList(List<String> categoryCodeList) {
        this.categoryCodeList = categoryCodeList;
    }

    public Integer getLevelNo() {
        return levelNo;
    }

    public void setLevelNo(Integer levelNo) {
        this.levelNo = levelNo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("categoryCode", getCategoryCode())
            .append("categoryName", getCategoryName())
            .append("categoryNameEn", getCategoryNameEn())
            .append("ancestorList", getAncestorList())
            .append("categoryDesc", getCategoryDesc())
            .append("parentId", getParentId())
            .append("sortNo", getSortNo())
            .append("tableId", getTableId())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
